package com.demo.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @author wangning
 * @date 2023/4/27 17:49
 * 直接将 list 转换成 Object[] 类型的 数组；
 * Object ： 对象类，是所有类的父类
 * Object[]  arr = list.toArray();
 * 输出指定类型的数组，输出的数组类型与括号中参数类型一致；
 * 必须是包装类（String、Integer、Character等），不能是基本数据类型了（string、int、char）；
 * 创建数组时： int [] arr = new int [] {}; 使用的是基本数据类型
 * Integer[] arr = list.toArray(new Integer[0]);
 *
 */
public class List2Array {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("a");
        list.add("b");
        list.add("c");
        list.add("d");
        Object[] objects = list.toArray();
        System.out.println(Arrays.toString(objects));
        System.out.println(Arrays.toString(list.toArray()));
        System.out.println("----------------------------");
        String[] strings = list.toArray(new String[0]);
        System.out.println(Arrays.toString(strings));

        List<Integer> list2 = new ArrayList<>();
        list2.add(1);
        list2.add(2);
        list2.add(3);
        list2.add(4);
        list2.add(5);
        Integer[] integers = list2.toArray(new Integer[list.size()]);
        System.out.println(Arrays.toString(integers));

    }
}
